Хорошо, ваши параметры переданы, но не в правильном пространстве имен. Вместо select_tag
вы должны использовать метод f.select
:
<%= f.select(:city_id, options_for_select(City.pluck(:name, :id), target_blank: true )) %>
И также для второго из ваших параметров.
Одно решение из поиска : (Отредактировано для ограничений по умолчанию)
SET NOCOUNT ON
DECLARE @constraintname SYSNAME, @objectid int,
@sqlcmd VARCHAR(1024)
DECLARE CONSTRAINTSCURSOR CURSOR FOR
SELECT NAME, object_id
FROM SYS.OBJECTS
WHERE TYPE = 'D' AND @objectid = OBJECT_ID('Mytable')
OPEN CONSTRAINTSCURSOR
FETCH NEXT FROM CONSTRAINTSCURSOR
INTO @constraintname, @objectid
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @sqlcmd = 'ALTER TABLE ' + OBJECT_NAME(@objectid) + ' DROP CONSTRAINT ' + @constraintname
EXEC( @sqlcmd)
FETCH NEXT FROM CONSTRAINTSCURSOR
INTO @constraintname, @objectid
END
CLOSE CONSTRAINTSCURSOR
DEALLOCATE CONSTRAINTSCURSOR
Просто почему вы хотите это сделать? Отбрасывание ограничений является довольно радикальным действием и затрагивает всех пользователей, а не только ваш процесс. Может быть, ваша проблема может быть решена другим способом. Если вы не являетесь администратором базы данных системы, вам следует очень серьезно подумать, стоит ли вам это делать. (Конечно, в большинстве систем, DBA не позволил бы кому-либо еще разрешения делать такую вещь.)