Rails按钮来更新嵌套属性的状态

我有一个模型Project和一个模型ProjectLine。 Project为ProjectLine嵌套了属性。Rails按钮来更新嵌套属性的状态

在我的项目中显示视图我列出了项目信息和任务列表。

<% @project.project_lines.each do |project_line| %> 

<%= project_line.user.name %>

<%= project_line.description %>

<%= number_to_currency project_line.amount, precision: 0, unit: "USD ", separator: ",", delimiter: "," %>

<%= project_line.task_status_name %>

<% end %>

使用cocoon在项目表单上创建任务。

在上面的视图中,状态名称之后,我想为每个改变状态的项目行都有一个按钮。

到目前为止我找到的解决方案是创建一个表单。

<%= semantic_form_for @project_line do |f| %> 

<%= f.hidden_field :status, :value=>2 %>

<%= f.submit 'ACCEPT', class: 'btn btn-primary btn-md' %>

<% end %>

我试图将其放置在部分项目上,并调用它的循环<% @project.project_lines.each do |project_line| %>,但我不能得到它的工作。

如何获得每个项目行的按钮以更改项目行状态?

回答:

如果我明白你的要求,财产以后沿

视图

<% @project.project_lines.each do |project_line| %> 

<%= project_line.user.name %>

<%= project_line.description %>

<%= number_to_currency project_line.amount, precision: 0, unit: "USD ", separator: ",", delimiter: "," %>

<%= project_line.task_status_name %>

<button class="accept_to_server">Accept</button>

<% end %>

的JavaScript(jQuery的)

$.('.accept_to_server').on('click', function(){ 

$.ajax({

url: 'path/to/accept/route'

method: 'PUT' // or what method your route uses

data: {data:you, need:here}

}).done(function(data){

// update your view

}).fail(function(){

// something went wrong

});

};

希望此行有助于出来。

以上是 Rails按钮来更新嵌套属性的状态 的全部内容, 来源链接: utcz.com/qa/266331.html

回到顶部