Я очень плохо знаком с рельсами, и у меня есть довольно простой вопрос:
У меня есть форма, которая принимает массив:
<td><%= fields_for "days" do |form| %>
M: <%= form.check_box "", {}, 'M', '' %>
T: <%= form.check_box "", {}, 'T', '' %>
W: <%= form.check_box "", {}, 'W', '' %>
Th: <%= form.check_box "", {}, 'Th', '' %>
F: <%= form.check_box "", {}, 'F', '' %>
<% end %>
Это должно быть доступно через params [:дней].Как я могу присвоить params [: days] переменной внутри контроллера?@days не правильно здесь, верно?(Там нет объекта Days, поэтому нет экземпляра этого объекта).Что должно идти в слоте [correct_variable] ниже?
[correct_variable] = params[:days]
Спасибо!
В ответ на комментарии:
Я пытался использовать @days, но дляпо какой-то причине мне не позвонили бы туда, куда бы я хотел.В частности, я хотел бы передать это своей модели поиска:
class Search < ActiveRecord::Base
attr_accessible :name, :day, :units, :instructor
def courses
@courses ||= find_courses
end
private
def find_courses
Course.find(:all, :conditions => conditions)
end
def day_conditions
["courses.day LIKE ?", "%"+ @days.join("%")+"%"]
end
Сначала я создаю экземпляр @days в моем контроллере курсов (который подключается через метод индекса к частичному, в котором используется экземпляр).объекта поиска.
Дополнительный код:
Из курсов / index.html.erb:
<% if @search.save %>
<div id = "results_scroll">
<%= render :partial => 'searches/search_results' %>
</div>
<% else %>
Из поискового запроса частично:
<% "Search" %>
<table>
<tr>
<th align="left" width="25%"><%= 'Name' %></th>
<th align="left" width="10%"><%= 'Number' %></th>
<th align="left" width="20%"><%= 'Instructor' %></th>
<th align="left" width="10%"><%= 'Room' %></th>
<th align="left" width="5%"><%= 'Day' %></th>
<th align="left" width="5%"><%= 'Units' %></th>
<th align="left" width="15%"><%= 'Time' %></th>
<th align="left" width="10%"><%= 'Limitations' %></th>
</tr>
<%= render :partial => @search_show.courses %>
</table>
Из контроллера курсов (в нем есть переменная @search_show).
def index
@courses = Course.order(sort_column + " " + sort_direction)
@search = Search.new
@search_show = Search.last
@title = "List"
@days = params[:days]
Наконец, часть _course.html.erb:
<tr>
<td><%= course.name %></td>
<td><%= course.number %></td>
<td><%= course.instructor %></td>
<td><%= course.room %></td>
<td><%= course.day %></td>
<td><%= course.units %></td>
<td><%= course.time %></td>
<td><%= course.limitations %></td>
<td><%= link_to 'Show', course %></td>
</tr>